#include "Equipe.h"
#include <stdio.h>

void initialiserEquipe(Equipe *e, char c) {
    e->tabPieces=malloc(16*sizeof(Piece));
    e->tabButin=malloc(16*sizeof(Piece));
    printf("toto\n");
    printf("%p\n",e->tabPieces);
fflush(stdout);
    assert(e->tabPieces != NULL);
    assert(e->tabButin != NULL);
    creationPieces(e->tabPieces, c);
}

Piece creerRoi(char c) {
    Piece roi;
    Coordonnee coord;
    if(c=='n'){
        coord.posX=4;
        coord.posY=1;
    } else {
        coord.posX=4;
        coord.posY=8;
    }
    initialiserPiece(&roi, 'r', c, coord);
    return roi;
}

Piece creerDame(char c) {
    Piece dame;
    Coordonnee coord;
    if(c=='n'){
        coord.posX=5;
        coord.posY=1;
    } else {
        coord.posX=5;
        coord.posY=8;
    }
    initialiserPiece(&dame, 'd', c, coord);
    return dame;
}

Piece creerFou1(char c) {
    Piece fou;
    Coordonnee coord;
    if(c=='n'){
        coord.posX=3;
        coord.posY=1;
    } else {
        coord.posX=3;
        coord.posY=8;
    }
    initialiserPiece(&fou, 'f', c, coord);
    return fou;
}

Piece creerFou2(char c) {
    Piece fou;
    Coordonnee coord;
    if(c=='n'){
        coord.posX=6;
        coord.posY=1;
    } else {
        coord.posX=6;
        coord.posY=8;
    }
    initialiserPiece(&fou, 'f', c, coord);
    return fou;
}

Piece creerCavalier1(char c) {
    Piece cavalier;
    Coordonnee coord;
    if(c=='n'){
        coord.posX=2;
        coord.posY=1;
    } else {
        coord.posX=2;
        coord.posY=8;
    }
    initialiserPiece(&cavalier, 'c', c, coord);
    return cavalier;
}

Piece creerCavalier2(char c) {
    Piece cavalier;
    Coordonnee coord;
    if(c=='n'){
        coord.posX=7;
        coord.posY=1;
    } else {
        coord.posX=7;
        coord.posY=8;
    }
    initialiserPiece(&cavalier, 'c', c, coord);
    return cavalier;
}

Piece creerTour1(char c) {
    Piece tour;
    Coordonnee coord;
    if(c=='n'){
        coord.posX=1;
        coord.posY=1;
    } else {
        coord.posX=1;
        coord.posY=8;
    }
    initialiserPiece(&tour, 'c', c, coord);
    return tour;
}

Piece creerTour2(char c) {
    Piece tour;
    Coordonnee coord;
    if(c=='n'){
        coord.posX=8;
        coord.posY=1;
    } else {
        coord.posX=8;
        coord.posY=8;
    }
    initialiserPiece(&tour, 'c', c, coord);
    return tour;
}

Piece* creerPions(char c){
    Piece *tab=malloc(8*sizeof(Piece));
    Coordonnee coord;
    int i;
    for(i=1;i<9;++i){
        if(c=='n'){
            coord.posX=i;
            coord.posY=2;
        } else {
            coord.posX=i;
            coord.posY=7;
        }
        initialiserPiece(&tab[i-1], 'p', c, coord);
    }
    return tab;
}

void creationPieces(Piece *tab, char c){
    Piece *tabPions;
    int i;
    int j=8;
    tab[0]=creerRoi(c);
    tab[1]=creerDame(c);
    tab[2]=creerFou1(c);
    tab[3]=creerFou2(c);
    tab[4]=creerCavalier1(c);
    tab[5]=creerCavalier2(c);
    tab[6]=creerTour1(c);
    tab[7]=creerTour2(c);
    tabPions=creerPions(c);
    for(i=0;i<8;++i) {
        tab[j]=tabPions[i];
        ++j;
    }
}
